import { defineStore } from "pinia";
import { ref } from "vue";
import {getLoginUserUsingGet} from "@/api/userController";

/**
 * 存储登录用户的信息
 */
export const useLoginUserStore = defineStore("loginUser", () => {
    // 登录用户信息（status）
    const loginUser = ref<API.LoginUserVO>({
        userName: "未登录",
    });

    // 获取登录用户信息方法
    async function fetchLoginUser() {
        const res = await getLoginUserUsingGet();
        if (res.data.code === 0 && res.data.data) {
            loginUser.value = res.data.data
        }
    }
        // 测试用户登录，3 秒后登录
    //     setTimeout(() => {
    //         loginUser.value = { userName: '测试用户', id: 1 }
    //     }, 3000)
    // }

    // 设置登录用户信息方法
    function setLoginUser(newLoginUser: any) {
        loginUser.value = newLoginUser;
    }

    // 将定义的状态以及方法提供出去
    return { loginUser, setLoginUser, fetchLoginUser };
});